Systems, devices, and methods for evaluating readings of gauge dials

ABSTRACT

A method includes identifying, by a processor, a gauge dial pattern in a first file based on a gauge dial template in a second file; identifying, by the processor, a needle pattern in the first file; generating, by the processor, a line pattern that approximates the needle pattern; determining, by the processor, a deflection angle of the needle pattern with respect to the gauge dial pattern based on the line pattern; converting, by the processor, the deflection angle into a reading of the gauge dial pattern based on the gauge dial template; and taking, by the processor, an action based on the reading.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.16/154,548, filed on Oct. 8, 2018, which is a continuation of U.S.patent application Ser. No. 15/694,265, filed on Sep. 1, 2017, whichclaims a benefit of U.S. Provisional Patent Application Ser. No.62/467,505, filed on Mar. 6, 2017, all of which are incorporated byreference herein for all purposes.

TECHNICAL FIELD

Generally, this disclosure relates to image processing. Moreparticularly, this disclosure relates to evaluating readings of gaugedials.

BACKGROUND

In this disclosure, where a document, an act, and/or an item ofknowledge is referred to and/or discussed, then such reference and/ordiscussion is not an admission that the document, the act, and/or theitem of knowledge and/or any combination thereof was at a priority date,publicly available, known to a public, part of common general knowledge,and/or otherwise constitutes any prior art under any applicablestatutory provisions; and/or is known to be relevant to any attempt tosolve any problem with which this disclosure is concerned with. Further,nothing is disclaimed.

An analog gauge, such as a manometer, a thermometer, or others, canobtain a reading of a characteristic, such as a pressure, a temperature,or others, of a fluid source, such as an oil well, a gas pipeline, orothers. The analog gauge can present this reading via a dial indicator.

In order to maintain the fluid source, there are situations when amanual inspection of the analog gauge is desired, such as to report thereading from the dial indicator, to repair the dial indicator, orothers. However, performing the manual inspection can be costly,time-consuming, laborious, and dangerous. For example, various weatherconditions, such as rain, snow, or others, can make the manualinspection difficult. Likewise, various hazardous environments, such asa fluid leak, a radiation leak, or others, can also make the manualinspection difficult. Similarly, if the analog gauge is positioned in ahard-to-access area or if there are many analog gauges, especially indifferent locales from each other, then the manual inspection becomeseven more difficult.

SUMMARY

This disclosure attempts to address at least one of the aboveinefficiencies. However, this disclosure can prove useful to othertechnical areas. Therefore, various claims recited below should not beconstrued as necessarily limited to addressing any of the aboveinefficiencies.

In an embodiment, there is provided a method comprising: identifying, bya processor, a gauge dial pattern in a first file based on a gauge dialtemplate in a second file; identifying, by the processor, a needlepattern in the first file; generating, by the processor, a line patternthat approximates the needle pattern; determining, by the processor, adeflection angle of the needle pattern with respect to the gauge dialpattern based on the line pattern; converting, by the processor, thedeflection angle into a reading of the gauge dial pattern based on thegauge dial template; and taking, by the processor, an action based onthe reading.

In another embodiment, there is provided a system comprising: a serverstoring a set of instructions to perform a method comprising:identifying, by a processor, a gauge dial pattern in a first file basedon a gauge dial template in a second file; identifying, by theprocessor, a needle pattern in the first file; generating, by theprocessor, a line pattern that approximates the needle pattern;determining, by the processor, a deflection angle of the needle patternwith respect to the gauge dial pattern based on the line pattern;converting, by the processor, the deflection angle into a reading of thegauge dial pattern based on the gauge dial template; and taking, by theprocessor, an action based on the reading.

This disclosure is embodied in various forms illustrated in a set ofaccompanying illustrative drawings. Note that variations arecontemplated as being a part of this disclosure, limited only by a scopeof various claims recited below.

DESCRIPTION OF DRAWINGS

The set of accompanying illustrative drawings shows various exampleembodiments of this disclosure. Such drawings are not to be construed asnecessarily limiting this disclosure. Like numbers and/or similarnumbering scheme can refer to like and/or similar elements throughout.

FIG. 1 shows a schematic diagram of an example embodiment of a networktopology according to this disclosure.

FIG. 2 shows a flowchart of an example embodiment of a method todetermine a reading of a gauge and to act based on the reading accordingto this disclosure.

FIG. 3 shows a schematic diagram of an example environment of a fluidconduction environment equipped with a plurality of gauges according tothis disclosure.

FIG. 4 shows a schematic diagram of an example embodiment of a gaugedial template according to this disclosure.

FIGS. 5a and 5b show a plurality of schematic diagrams of a plurality ofexample embodiments of a plurality of gauge readings from a plurality ofgauges according to this disclosure.

DETAILED DESCRIPTION

This disclosure is now described more fully with reference to the set ofaccompanying drawings, in which some example embodiments of thisdisclosure are shown. This disclosure may, however, be embodied in manydifferent forms and should not be construed as necessarily being limitedto the example embodiments disclosed herein. Rather, these exampleembodiments are provided so that this disclosure is thorough andcomplete, and fully conveys various concepts of this disclosure toskilled artisans.

Generally, this disclosure enables an automatic recognition of a readingof a gauge. In particular, a patrol tour is scheduled for a camera, suchas a pan-tilt-zoom (PTZ) camera. The patrol tour enables the camera tooptically tour a set of gauges such that the camera is able to capture aset of images depicting the set of gauges. When the camera is notcapturing the set of images depicting the set of gauges, then the camerais used for surveillance. During the patrol tour, for at least one ofthe gauges, the camera captures an image of that gauge, where that gaugeincludes a dial and a needle arranged in accordance with a reading ofthat gauge. The image is automatically saved into a file and the file issent to a remote server for performing a recognition process thereon,such as determining the reading based on a needleless gauge template.The file is named with a name that includes a gauge identifier, a datestamp, and a time stamp for the image. Once the reading is determined,an action can be taken, such as requesting a task from a computationalresource, saving the reading into a database or another data structure.For example, if requested, then the database can generate a reportincluding the reading for a specified time period.

FIG. 1 shows a schematic diagram of an example embodiment of a networktopology according to this disclosure. A network topology 100 comprisesa network 102, a server 104, a storage 106, a video wall 108, anadministrator workstation 110, a joystick 112, an operator workstation114, and a camera 116. The server 104 is in signal communication,whether wired or wireless, whether direct or indirect, with the network102. The storage 106 is in signal communication, whether wired orwireless, whether direct or indirect, with the server 104. The videowall 108 is in signal communication, whether wired or wireless, whetherdirect or indirect, with the network 102 and the workstation 110. Theworkstation 110 is in signal communication, whether wired or wireless,whether direct or indirect, with the network 102, the video wall 108,and the joystick 112. The joystick 112 is in signal communication,whether wired or wireless, whether direct or indirect, with theworkstation 110. The workstation 114 is in signal communication, whetherwired or wireless, whether direct or indirect, with the network 102. Thecamera 116 is in signal communication, whether wired or wireless,whether direct or indirect, with the network 102. As such, the server102, the video wall 108, the workstation 110, the workstation 114, andthe camera 116 can signally communicate with each other over the network102, whether directly or indirectly. Also, FIG. 1 shows a gauge 118which includes a dial and a needle. The camera 116 is positioned tocapture an image, such as a photo or a video, of the dial and theneedle.

In particular, the network 102 includes a plurality of nodes that allowfor sharing of resources or information. The network 102 can be wired orwireless. For example, the network 102 can be a local area network(LAN), a wide area network (WAN), a cellular network, or others.

The server 104 runs an operating system, such as MacOS®, Windows®, orothers, and an application, such as a video analytics application, onthe operating system. The server 104 can include and/or be coupled to,whether directly and/or indirectly, an input device, such as a mouse, akeyboard, a camera, whether forward-facing and/or back-facing, anaccelerometer, a touchscreen, a biometric reader, a clicker, amicrophone, or any other suitable input device. The server 104 caninclude and/or be coupled to, whether directly and/or indirectly, anoutput device, such as a display, a speaker, a headphone, a printer, orany other suitable output device. In some embodiments, the input deviceand the output device can be embodied in one unit, such as atouch-enabled display, which can be haptic.

The storage 106 can comprise a storage medium, such as a data structure,a database, or others. For example, the database can include arelational database, an in-memory database, or others, which can storedata, such as in a record field, and allow access to such data, whetherin a raw state, a formatted state, an organized stated, or any otheraccessible state. For example, such data can include an image file, asound file, an alphanumeric text string, or any other data. The storage106 is configured for various data Input/Output (I/O) operations,including reading, writing, editing, modifying, deleting, updating,searching, selecting, merging, sorting, encrypting/decrypting,de-duplicating, or others. In some embodiments, the storage 106 can beunitary with the server 102.

The video wall 108 contains a multi-display array, which includes aplurality of displays, such as computer monitors, video projectors, ortelevision sets, tiled or tessellated together contiguously oroverlapped, in order to form a single aggregate display. For example, atleast one of the displays can comprise a liquid crystal display (LCD), aplasma display, a light emitting diode (LED) display, or others, whetheridentical to or different from each other in display technology, shape,or size. The displays are positioned immediately adjacent to each otherto reduce a mullion. The displays include logic, whether hardware-basedor software-based, and mounting/coupling hardware to position displaysadjacent to each other, along with connections to daisy chain power,video, and command signals therebetween. For example, a command signalmay power some or all displays in the video wall 108 on or off, orcalibrate a brightness or contrast or other visual characteristic of asingle display, such as after a bulb replacement.

The workstation 110 runs an operating system, such as MacOS®, Windows®,or others, and an application, such as an administrator application, onthe operating system. The workstation 110 can include and/or be coupledto, whether directly and/or indirectly, an input device, such as amouse, a keyboard, a camera, whether forward-facing and/or back-facing,an accelerometer, a touchscreen, a biometric reader, a clicker, amicrophone, or any other suitable input device. The workstation 110 caninclude and/or be coupled to, whether directly and/or indirectly, anoutput device, such as a display, a speaker, a headphone, a printer, orany other suitable output device. In some embodiments, the input deviceand the output device can be embodied in one unit, such as atouch-enabled display, which can be haptic. As such, the applicationpresents an administrator graphical user interface (GUI) configured todepict a page, where the page can include a visual element, such as amenu, enabling a control of an aspect of the topology 100, such as anyhardware, software, or any other logic or functionality. For example,the workstation 110 can be configured to control the network 102, theserver 104, the video wall 108, the camera 116, or others.

The joystick 112 comprises an input device including a stick, a base,and a logic, whether hardware-based or software-based, for reporting anoperation of the stick with respect to the base. The stickcantileveredly pivots on the base and the logic reports an angle ordirection of the stick to a device coupled to the joystick 112, such asthe workstation 110. The stick or the base may include a button, aswitch, or a lever. The joystick 112 may receive power from the devicecoupled thereto, such as the workstation 110, or be battery powered.Alternatively or additionally, the joystick 112 may comprise an analogstick, a miniature finger-operated joystick, a trigger, a button, agamepad or a touch-enabled interface, such a touchscreen, such as amobile phone or a tablet. Alternatively or additionally, the joystick112 may comprise a feedback functionality or device, such as viavibration or haptic output.

The workstation 114 runs an operating system, such as MacOS®, Windows®,or others, and an application, such as an operator application, on theoperating system. The workstation 114 can include and/or be coupled to,whether directly and/or indirectly, an input device, such as a mouse, akeyboard, a camera, whether forward-facing and/or back-facing, anaccelerometer, a touchscreen, a biometric reader, a clicker, amicrophone, or any other suitable input device. The workstation 114 caninclude and/or be coupled to, whether directly and/or indirectly, anoutput device, such as a display, a speaker, a headphone, a printer, orany other suitable output device. In some embodiments, the input deviceand the output device can be embodied in one unit, such as atouch-enabled display, which can be haptic. As such, the applicationpresents an operator GUI configured to depict a page, where the page caninclude a visual element, such as a menu, enabling an access to an imagefrom the camera 116, whether directly or indirectly, such as from thestorage 106, the camera 116, the server 104, or others. For example,such access can comprise reading, writing, deleting, or others. Theworkstation 114 can be configured to receive an access to anyinformation obtained, extracted, associated, or linked from the image,such as via the server 104, the storage 106, or others. For example,such access can comprise reading, writing, deleting, or others. In someembodiments, the workstation 110 and the workstation 114 are a singleworkstation.

The camera 116 includes an optical instrument for capturing andrecording images, which may be stored locally, transmitted to anotherlocation, or both. The images may be individual still photographs orsequences of images constituting videos. The images can be analog ordigital. The camera 116 can comprise any type of lens, such as convex,concave, fisheye, or others. The camera 116 can comprise any focallength, such as wide angle or standard. The camera 116 can comprise aflash illumination output device. The camera 116 can comprise aninfrared illumination output device. The camera 116 is powered via mainselectricity, such as via a power cable or a data cable. In someembodiments, the camera 116 is powered via at least one of an onboardrechargeable battery, such as a lithium-ion battery, which may becharged via an onboard renewable energy source, such as a photovoltaiccell, a wind turbine, or a hydropower turbine. The camera 116 can beconfigured for geo-tagging, such as via modifying an image file withgeolocation/coordinates data. The camera 116 can include or be coupledto a microphone. The camera 116 can be a PTZ camera, which may be avirtual PTZ camera. The camera 116 can be configured for aname-stamping, date-stamping, or time-stamping the image, such as whatdate or time the image was captured or naming the image with a namingconvention, as pre-programmed in advance.

The gauge 118 obtains a reading of a characteristic of a mechanicalsubject matter, an electrical subject matter, a chemical subject matter,or any other physical or non-physical subject matter, such as a fluid,whether a liquid or a gas, a solid, an energy, a particle, a time, asound, or others. For example, the characteristic can include a volume,a pressure, a weight, a temperature, a voltage, a speed, a frequency, anangle, a thickness, a length, a height, a depth, a run-out, anorientation, a deflection, or others. The gauge 118 includes a dialindicator having a dial display, which is defined via the needle and thedial, as noted above. In such configuration, the needle points to agraduation, whether positive or negative, in a circular, arcuate, orlinear array about the dial, whether the dial is balanced or continuous.For example, the needle can move, whether clockwise or counterclockwise,with respect to the dial in a calibrated manner or the dial can move,whether clockwise or counterclockwise, with respect to the needle in acalibrated manner. Note that the gauge 118 can include other indicatortypes, such as a cantilevered pointer. Likewise, note that although thegauge 118 is analog, the gauge 118 can be digital, such as via the gauge118 electronically displaying the dial and the needle. Similarly, notethat the gauge 118 can be used in any context, such as a calibrationsetting, a manufacturing setting, a vehicle setting, whether land,aerial, marine, or space, a health setting, a military setting, alaboratory setting, a fluid setting, a probe setting, or any othersetting employing any subject matter exemplified above. Also, note thatthe gauge 118 can include a clock. Additionally, note that the gauge 118can include a plurality of indicators, whether similar or dissimilar toeach other in operation, such as a plurality of dial indicators.Moreover, note that the dial or the needle may be photoluminescent, suchas via exhibiting a phosphorescence for a darkness visibility, such asduring a nighttime. Some examples of the gauge 118 include a manometer,a thermometer, a vehicle dashboard panel, a clock, a caliper, a loadcell, a weight scale, or any other gauge of any type in any context.

In one mode of operation, an administrator operates the joystick 112 toprovide an input to the workstation 110 such that the workstation 110instructs the camera 116, such as a PTZ camera, over the network 102 tocapture an image of the dial indicator of the gauge 118, such as a gaugedial having a needle thereon, any of which may be photoluminescent. Forexample, such control may include orientation, panning, tilting,zooming, moving, snapshot capture, functionality activation, turnon/off, or others. For example, the server 104 can associate afield-of-view position of the camera 116 with the gauge dial, such aswhen the camera 116 movably or optically patrols along a predefined pathto capture the image of the dial indicator of the gauge 118, whileperforming a surveillance on the predefined path when not capturing theimage and capturing other imagery at other field-of-views, such as thosethat avoid the gauge dial of the gauge 118. Subsequently, the camera 116captures the image of the dial indicator of the gauge 118 and canstamp/rename the image with a gauge identifier/date/time with that gaugeidentifier/date/time, and sends the image to the server 104 over thenetwork 102.

In response, the server 104 can perform a functionality, whether inreal-time or on-demand, via an application, a function, a module, ascript, a circuit, a device, or any other logic, whether hardware-basedor software-based, running, coupled, or otherwise accessible to theserver 104. The functionality includes identifying a gauge dial patternin a first file, such as the image, based on a gauge dial template in asecond file, which may be stored on the server 104 or retrievable fromthe storage 106. The gauge dial template is based on the gauge dial. Thegauge dial pattern depicts the gauge dial and the needle pattern depictsthe needle. The gauge dial template may include a needleless gauge dialpattern, a lower bound gauge dial coordinate, an upper bound gauge dialcoordinate, a lower bound value corresponding to the lower bound gaugedial coordinate, an upper bound value corresponding to the upper boundgauge dial coordinate, and a coordinates set of a rotation axiscorresponding to the needle pattern. The server 104 may identify aneedle pattern in the first file, such as via binarizing a grayscaleimage obtained from on an absolute difference between the gauge dialpattern and the gauge dial template and generate a line pattern thatapproximates the needle pattern, such as via a least squares method. Theserver 104 may determine a deflection angle of the needle pattern withrespect to the gauge dial pattern based on the line pattern and thebinarizing, convert the deflection angle into a reading of the gaugedial pattern based on the gauge dial template and a set of dial boundscoordinates and a set of corresponding values, and a set of coordinatesof a needle rotation axis, and then take an action based on the reading.For example, the action can include presenting the reading over thegauge dial pattern in the image, such as via displayable augmentation ofthe image without modifying the image or writing into the image. Otherexamples can include report or write the reading into a data structure,such as a spreadsheet. Note that if there is a plurality of gauge dialpatterns in the image, such as within a single gauge 118, then theserver 108 can select the gauge dial template from a plurality of gaugedial templates, such as stored on the server 104 or the storage 106,based on a set of criteria, such as prior frequency use history,analytics, heuristics, random selection, artificial intelligence,pre-programming, a set of manual user inputs, or others. As such, anoperator operating the workstation 114 can access the reading in theserver 104 or the storage 106, such as when exported into a datastructure or presented over the gauge dial pattern in the image.

FIG. 2 shows a flowchart of an example embodiment of a method todetermine a reading of a gauge and to act based on the reading accordingto this disclosure. A method 200 includes a set of block 202-214, whichenable an automated reading of the gauge 118 and an automated actionbased on the automated reading. The method 200 is performed using thetopology 100 and the gauge 118, as shown in FIG. 1.

In the block 202, a gauge dial template is generated, such as via theworkstation 110 or the workstation 114. For example, the gauge dialtemplate is written into a data structure, such as a file. As shown inFIG. 4, the gauge dial template includes an image depicting a dialpattern without a projective transformation, such as when an opticalaxis of a camera is positioned perpendicular to a dial surface of thegauge 118 when capturing the dial pattern, and without a needle pattern,such as when the needle is removed when an optical axis of a camera ispositioned perpendicular to the dial surface of the gauge 118 whencapturing the dial pattern. Also, the gauge dial template includes a setof calibrating parameters, such as a lower bound graduated dial scalecoordinate, an upper bound graduated dial scale coordinate, a lowerbound graduated dial scale value, an upper bound graduated dial scalevalue, a set of coordinates of a rotation axis of the needle of thegauge 118. Upon generation, the gauge dial template is uploaded to theserver 104 over the network 102. Upon request, the server 104 mayinitialize a recognition module via searching for a set ofcharacteristic points on the gauge dial template, such as via anOriented FAST and rotated BRIEF (ORB) technique, and determining a setof descriptors corresponding to the set of the characteristic points,such as via a Fast Retina Keypoint (FREAK) technique.

In the block 204, an image depicting a gauge dial pattern and a needlepattern is received, such as via the server 104. The image originatesfrom the camera 116. The image can be stored in a data structure, suchas a file. The gauge dial pattern depicts the gauge dial of the gauge118 and the needle pattern depicts the needle of the gauge 118. Forexample, the image can be received via the server 104 over the network102 when the camera 116 is on a scheduled optical patrol tour about aset of gauges 118 and the camera 116 captures the image when the camera116 is oriented or moved into a specific position corresponding to aspecific gauge 118 or zoomed into a specific zone corresponding to aspecific gauge 118. Before sending from the camera 116 or upon receivingvia the server 104, the image or the data structure storing the imagecan name, such as via stamping, the image or the data structure storingthe image with a gauge identifier associated with the gauge dial or witha date string or a time string associated with the PTZ camera capturingthe image. One example of the image is schematically depicted in FIG. 3.

In the block 206, the image is searched for the gauge dial pattern, suchas via the server 104. The searching can be upon receipt of the image orupon request, such as via the operator of the workstation 114. Since theimage may not ideally depict the gauge dial pattern, such as due to aprojective transformation, which may be due to a disorientation of thecamera 116 or the gauge 118, the searching entails checking for aprojective transformation or accommodating for a projectivetransformation. For example, such accommodation can include a search fora set of characteristic points in the image, such as via searching for aset of ORB features through an ORB technique, and determining a set ofdescriptors corresponding thereto, such as via a FREAK technique.Further, such accommodation can include associating, such as viamatching or mapping, a set of descriptors for the gauge dial template,as noted above, with a set of descriptors of the image, as noted above,such as via a Brute-Force matching technique, a Cross-Match filteringtechnique, and a K-nearest-neighbors (KNN)-matching ratio testtechnique. Moreover, such accommodation can include a search for aperspective transformation, such via employing a method of evaluating aset of image parameters, such as a random sample consensus (RANSAC)technique, and applying the perspective transformation to the image. Theassociating, as noted above, and the searching for the perspectivetransformation, as noted above, are iterated or repeated, such as atleast two times, for a transformation of the image in order to receive amore refined perspective transformation, which should minimize theprojective transformation. Resultantly, a cropped image is formed orotherwise obtained from the image received from the camera 116, wherethe cropped image contains a corrected perspective distortion (correctedimage), which is compatible with the gauge dial template.

In the block 208, the corrected image is searched for the needlepattern, such as via the server 104. Such search can include varioustechniques. For example, in order to minimize an influence or an impactof a background of each of the gauge dial template and the correctedimage, an area corresponding to the dial is masked and remaining pixelsof each of the gauge dial template and the corrected image are ignored.Further, for each of the gauge dial template and the corrected image, aGaussian blur and a mathematical morphology expansion, such as amorphological dilation, are performed, after which an absolutedifference between the gauge dial template and the corrected image isdetermined. Subsequently, a grayscale image is formed, which is thenbinarized. By combining operations of the morphological expansion, suchas dilation, with the Gaussian blur, and with a contour/outline search,an identification of a contour/outline of the needle pattern.

In the block 210, a value to which the needle pattern points isdetermined, such as via the server 104. Such determination can includevarious techniques. For example, using a technique of least squares, asearch for a rectilinear line pattern is performed, where therectilinear line pattern approximates the contour/outline of the needlepattern. As such, using the binarized grayscale image and therectilinear line pattern, an angle of deflection of the needle patternis determined. Subsequently, using the set of set of calibratingparameters of the gauge dial template, the angle of deflection isconverted into a reading of the gauge 118. The reading can include analphanumerical, a symbolic, or a color value.

In the block 210, the value is saved, such as via the server 104, onto amemory, such as the storage 106.

In the block 212, an action is taken based on the value, such as via theserver 104. The action can be of any type, such as generating aninstruction/message, sending an instruction/message, writing the valueinto a data structure, or others. The action can be taken via anycomponent of the topology 100. For example, the action can includepresenting the reading over the gauge dial pattern in the image or thecorrected image. For example, the action can include exporting thereading into a data structure, such as a database, or generating orupdating a report with the reading.

In some embodiments, the gauge dial or the needle of the gauge 118 isphotoluminescent, such as via exhibiting phosphorescence, and as such,the blocks 202-210 accommodate for such configuration.

In some embodiments, the image depicts a plurality of gauge dialpatterns within a single gauge 118. Accordingly, the gauge dial templateis selected from a plurality of gauge dial templates based on a set ofcriteria, such as prior frequency use history, analytics, heuristics,random selection, artificial intelligence, pre-programming, a set ofmanual user inputs, or others.

FIG. 3 shows a schematic diagram of an example environment of a fluidconduction environment equipped with a plurality of gauges according tothis disclosure. A fluid conduction environment 300, such as an oilwell, includes a plurality of gauges 302, each of which can be similarto the gauge 118. For example, the camera 116 can be programmed with ascheduled patrol tour where along a plurality of physical points or timepoints during the tour, the camera 116 captures a plurality of images ofthe gauges 302, in any image-to-gauge correspondence, while on asurveillance of this locale when not capturing the images of the gauges302, which enables an efficient use of the camera 116. However, notethat this disclosure is not limited to the environment 300. Rather, anygauge dial with any needle in any environment can be used.

FIG. 4 shows a schematic diagram of an example embodiment of a gaugedial template according to this disclosure. A gauge dial template 400contains a gauge dial pattern 402, as noted above in context of FIGS. 1and 2.

FIGS. 5a and 5b show a plurality of schematic diagrams of a plurality ofexample embodiments of a plurality of gauge readings from a plurality ofgauges according to this disclosure. As shown in FIG. 5a , a pair ofimages captured via the camera 116 depicts a pair of gauge dial patternspresenting a pair of readings, as noted above with respect to the block204. As shown in FIG. 5b , the pair of images has been processed, asnoted above with respect to the blocks 206-212, including an imagenormalization process and presenting the rectilinear line (green) overthe needle pattern, and a pair of alphanumeric value stringscorresponding to the pair of readings is displayed over the pair of dialpatterns in a visually distinct manner, such as via a red font. Althoughthe pair of alphanumeric value strings is presented as enclosed withinthe dial patterns, other ways of presenting the pair of alphanumericvalue strings are possible, such as external to the dial patterns,longitudinally or centrally over the needle, or others. Likewise, thevisually distinct manner can differ, such as in font color, font size,value system, or others. Similarly, the readings can be presenteddifferently, such as in a non-alphanumeric manner, such as a symbolicmanner, a color scale manner, or others. Note that the gauge can presentthe dial or the needle in an analog or digital manner.

In some embodiments, the operator of the workstation 114 or theadministrator of the workstation 110 can set an action setting, such asan alarm output or others, for a graduated dial scale of the gauge 118,such as via saving the action setting in the server 104 or the storage106. The action setting can include a range defined via a lower boundaryvalue indicator and an upper boundary value indicator. For example, thelower boundary value indicator and the upper boundary value indicatorcan be displayed as a needle pattern or a clock hand pattern on thegauge dial template. Such needle pattern or the clock hand pattern canbe visually distinct, such as via color, shape, size, or others, betweeneach other or the gauge dial template or from the needle patternobtained from the image, as noted above with respect to the block 204.Likewise, the range can be visually distinct from remaining graduateddial scale, such as via color filling, or others. As such, using thereading, as obtained via the method 200, if the reading is within therange or outside the range, as evaluated via the server 104, then theserver 104 can request that an action in accordance with the actionsetting can be taken, such as an alarm message is generated and sent oran alarm device, such as a bell, a siren, or a horn, is activated. Notethat the alarm device can output in other ways, such as via anillumination, a vibration, or others, whether analog or digital.

Various embodiments of the present disclosure may be implemented in adata processing system suitable for storing and/or executing programcode that includes at least one processor coupled directly or indirectlyto memory elements through a system bus. The memory elements include,for instance, local memory employed during actual execution of theprogram code, bulk storage, and cache memory which provide temporarystorage of at least some program code in order to reduce the number oftimes code must be retrieved from bulk storage during execution.

I/O devices (including, but not limited to, keyboards, displays,pointing devices, DASD, tape, CDs, DVDs, thumb drives and other memorymedia, etc.) can be coupled to the system either directly or throughintervening I/O controllers. Network adapters may also be coupled to thesystem to enable the data processing system to become coupled to otherdata processing systems or remote printers or storage devices throughintervening private or public networks. Modems, cable modems, andEthernet cards are just a few of the available types of networkadapters.

The present disclosure may be embodied in a system, a method, and/or acomputer program product. The computer program product may include acomputer readable storage medium (or media) having computer readableprogram instructions thereon for causing a processor to carry outaspects of the present disclosure. The computer readable storage mediumcan be a tangible device that can retain and store instructions for useby an instruction execution device. The computer readable storage mediummay be, for example, but is not limited to, an electronic storagedevice, a magnetic storage device, an optical storage device, anelectromagnetic storage device, a semiconductor storage device, or anysuitable combination of the foregoing. A non-exhaustive list of morespecific examples of the computer readable storage medium includes thefollowing: a portable computer diskette, a hard disk, a random accessmemory (RAM), a read-only memory (ROM), an erasable programmableread-only memory (EPROM or Flash memory), a static random access memory(SRAM), a portable compact disc read-only memory (CD-ROM), a digitalversatile disk (DVD), a memory stick, a floppy disk, a mechanicallyencoded device such as punch-cards or raised structures in a groovehaving instructions recorded thereon, and any suitable combination ofthe foregoing.

Computer readable program instructions described herein can bedownloaded to respective computing/processing devices from a computerreadable storage medium or to an external computer or external storagedevice via a network, for example, the Internet, a local area network, awide area network and/or a wireless network. The network may comprisecopper transmission cables, optical transmission fibers, wirelesstransmission, routers, firewalls, switches, gateway computers and/oredge servers. A network adapter card or network interface in eachcomputing/processing device receives computer readable programinstructions from the network and forwards the computer readable programinstructions for storage in a computer readable storage medium withinthe respective computing/processing device.

Computer readable program instructions for carrying out operations ofthe present disclosure may be assembler instructions,instruction-set-architecture (ISA) instructions, machine instructions,machine dependent instructions, microcode, firmware instructions,state-setting data, or either source code or object code written in anycombination of one or more programming languages, including an objectoriented programming language such as Smalltalk, C++ or the like, andconventional procedural programming languages, such as the “C”programming language or similar programming languages. A code segment ormachine-executable instructions may represent a procedure, a function, asubprogram, a program, a routine, a subroutine, a module, a softwarepackage, a class, or any combination of instructions, data structures,or program statements. A code segment may be coupled to another codesegment or a hardware circuit by passing and/or receiving information,data, arguments, parameters, or memory contents. Information, arguments,parameters, data, etc. may be passed, forwarded, or transmitted via anysuitable means including memory sharing, message passing, token passing,network transmission, among others. The computer readable programinstructions may execute entirely on the user's computer, partly on theuser's computer, as a stand-alone software package, partly on the user'scomputer and partly on a remote computer or entirely on the remotecomputer or server. In the latter scenario, the remote computer may beconnected to the user's computer through any type of network, includinga local area network (LAN) or a wide area network (WAN), or theconnection may be made to an external computer (for example, through theInternet using an Internet Service Provider). In some embodiments,electronic circuitry including, for example, programmable logiccircuitry, field-programmable gate arrays (FPGA), or programmable logicarrays (PLA) may execute the computer readable program instructions byutilizing state information of the computer readable programinstructions to personalize the electronic circuitry, in order toperform aspects of the present disclosure.

Aspects of the present disclosure are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems), and computer program products according to embodiments of thedisclosure. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer readable program instructions. The various illustrative logicalblocks, modules, circuits, and algorithm steps described in connectionwith the embodiments disclosed herein may be implemented as electronichardware, computer software, or combinations of both. To clearlyillustrate this interchangeability of hardware and software, variousillustrative components, blocks, modules, circuits, and steps have beendescribed above generally in terms of their functionality. Whether suchfunctionality is implemented as hardware or software depends upon theparticular application and design constraints imposed on the overallsystem. Skilled artisans may implement the described functionality invarying ways for each particular application, but such implementationdecisions should not be interpreted as causing a departure from thescope of the present disclosure.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products according to variousembodiments of the present disclosure. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof instructions, which comprises one or more executable instructions forimplementing the specified logical function(s). In some alternativeimplementations, the functions noted in the block may occur out of theorder noted in the figures. For example, two blocks shown in successionmay, in fact, be executed substantially concurrently, or the blocks maysometimes be executed in the reverse order, depending upon thefunctionality involved. It will also be noted that each block of theblock diagrams and/or flowchart illustration, and combinations of blocksin the block diagrams and/or flowchart illustration, can be implementedby special purpose hardware-based systems that perform the specifiedfunctions or acts or carry out combinations of special purpose hardwareand computer instructions.

Words such as “then,” “next,” etc. are not intended to limit the orderof the steps; these words are simply used to guide the reader throughthe description of the methods. Although process flow diagrams maydescribe the operations as a sequential process, many of the operationscan be performed in parallel or concurrently. In addition, the order ofthe operations may be re-arranged. A process may correspond to a method,a function, a procedure, a subroutine, a subprogram, etc. When a processcorresponds to a function, its termination may correspond to a return ofthe function to the calling function or the main function.

Features or functionality described with respect to certain exampleembodiments may be combined and sub-combined in and/or with variousother example embodiments. Also, different aspects and/or elements ofexample embodiments, as disclosed herein, may be combined andsub-combined in a similar manner as well. Further, some exampleembodiments, whether individually and/or collectively, may be componentsof a larger system, wherein other procedures may take precedence overand/or otherwise modify their application. Additionally, a number ofsteps may be required before, after, and/or concurrently with exampleembodiments, as disclosed herein. Note that any and/or all methodsand/or processes, at least as disclosed herein, can be at leastpartially performed via at least one entity or actor in any manner.

The terminology used herein can imply direct or indirect, full orpartial, temporary or permanent, action or inaction. For example, whenan element is referred to as being “on,” “connected” or “coupled” toanother element, then the element can be directly on, connected orcoupled to the other element and/or intervening elements can be present,including indirect and/or direct variants. In contrast, when an elementis referred to as being “directly connected” or “directly coupled” toanother element, there are no intervening elements present.

Although the terms first, second, etc. can be used herein to describevarious elements, components, regions, layers and/or sections, theseelements, components, regions, layers and/or sections should notnecessarily be limited by such terms. These terms are used todistinguish one element, component, region, layer or section fromanother element, component, region, layer or section. Thus, a firstelement, component, region, layer, or section discussed below could betermed a second element, component, region, layer, or section withoutdeparting from the teachings of the present disclosure.

Furthermore, relative terms such as “below,” “lower,” “above,” and“upper” can be used herein to describe one element's relationship toanother element as illustrated in the accompanying drawings. Suchrelative terms are intended to encompass different orientations ofillustrated technologies in addition to the orientation depicted in theaccompanying drawings. For example, if a device in the accompanyingdrawings were turned over, then the elements described as being on the“lower” side of other elements would then be oriented on “upper” sidesof the other elements. Similarly, if the device in one of the figureswere turned over, elements described as “below” or “beneath” otherelements would then be oriented “above” the other elements. Therefore,the example terms “below” and “lower” can encompass both an orientationof above and below.

The terminology used herein is for describing particular exampleembodiments and is not intended to be necessarily limiting of thepresent disclosure. As used herein, the singular forms “a,” “an” and“the” are intended to include the plural forms as well, unless thecontext clearly indicates otherwise. Also, as used herein, the term “a”and/or “an” shall mean “one or more,” even though the phrase “one ormore” is also used herein. The terms “comprises,” “includes” and/or“comprising,” “including” when used in this specification, specify thepresence of stated features, integers, steps, operations, elements,and/or components, but do not preclude the presence and/or addition ofone or more other features, integers, steps, operations, elements,components, and/or groups thereof. Furthermore, when the presentdisclosure states herein that something is “based on” something else,then such statement refers to a basis which may be based on one or moreother things as well. In other words, unless expressly indicatedotherwise, as used herein “based on” inclusively means “based at leastin part on” or “based at least partially on.”

As used herein, the term “or” is intended to mean an inclusive “or”rather than an exclusive “or.” That is, unless specified otherwise, orclear from context, “X employs A or B” is intended to mean any of thenatural inclusive permutations. That is, if X employs A; X employs B; orX employs both A and B, then “X employs A or B” is satisfied under anyof the foregoing instances.

Unless otherwise defined, all terms (including technical and scientificterms) used herein have the same meaning as commonly understood by oneof ordinary skill in the art to which this disclosure belongs. Theterms, such as those defined in commonly used dictionaries, should beinterpreted as having a meaning that is consistent with their meaning inthe context of the relevant art and should not be interpreted in anidealized and/or overly formal sense unless expressly so defined herein.

As used herein, the term “about” and/or “substantially” refers to a+/−10% variation from the nominal value/term. Such variation is alwaysincluded in any given.

If any disclosures are incorporated herein by reference and suchdisclosures conflict in part and/or in whole with the presentdisclosure, then to the extent of conflict, and/or broader disclosure,and/or broader definition of terms, the present disclosure controls. Ifsuch disclosures conflict in part and/or in whole with one another, thento the extent of conflict, the later-dated disclosure controls.

Although preferred embodiments have been depicted and described indetail herein, it will be apparent to those skilled in the relevant artthat various modifications, additions, substitutions and the like can bemade without departing from the spirit of the disclosure, and these are,therefore, considered to be within the scope of the disclosure, asdefined in the following claims.

What is claimed is:
 1. A method comprising: creating, by a processor, apatrol tour for a camera such that the patrol tour includes a pluralityof points associated with a plurality of identifiers; scheduling, by theprocessor, the patrol tour such that the camera can capture a pluralityof images at the points during the patrol tour and surveil an area whennot capturing the images during the patrol tour; programming, by theprocessor, the camera such that the images are (a) associated with theidentifiers during the patrol tour, a plurality of date stamps inaccordance with when the images are captured during the patrol tour, anda plurality of time stamps in accordance with when the images arecaptured during the patrol tour, and (b) sent to a server with theidentifiers, the date stamps, and the time stamps during the patroltour, wherein the server is remote from the camera during the patroltour; causing, by the processor, the server to: receive the images withthe identifiers, the date stamps, and the time stamps during the patroltour, wherein the images include a plurality of content; identify thecontent within the images during the patrol tour; and populate a datastructure with the content during the patrol tour based on theidentifiers, the date stamps, and the time stamps.
 2. The method ofclaim 1, wherein the camera is a pan-tilt-zoom camera.
 3. The method ofclaim 1, wherein the camera is a virtual pan-tilt-zoom camera.
 4. Themethod of claim 1, wherein the patrol tour is created such that theimages depict a plurality of readings of a plurality of gauges, whereinthe content includes the readings, wherein the identifiers areassociated with the gauges.
 5. The method of claim 4, wherein at leastone of the gauges includes at least one of a dial, a needle, or agraduated mark, wherein the at least one of the dial, the needle, or thegraduated mark is photoluminescent.
 6. The method of claim 4, wherein atleast one of the readings is identified at least based on: identifying agauge dial pattern in a first file based on a gauge dial template in asecond file, wherein the gauge dial template contains a needleless gaugedial pattern and a set of calibrating parameters; identifying a needlepattern in the first file; generating a line pattern that approximatesthe needle pattern; determining a deflection angle of the needle patternwith respect to the gauge dial pattern based on the line pattern; andconverting the deflection angle into the at least one of the readings ofthe gauge dial pattern based on the needleless gauge dial pattern andthe set of calibrating parameters.
 7. The method of claim 6, wherein theset of calibrating parameters contains a lower bound gauge dialcoordinate and an upper bound gauge dial coordinate.
 8. The method ofclaim 6, wherein the set of calibrating parameters contains a lowerbound value corresponding to the lower bound gauge dial coordinate andan upper bound value corresponding to the upper bound gauge dialcoordinate.
 9. The method of claim 6, wherein the set of calibratingparameters contains a coordinate set of a rotation axis corresponding tothe needle pattern.
 10. The method of claim 6, further comprising:performing, by the processor, a binarization of a grayscale imageobtained from on an absolute difference between the gauge dial patternand the gauge dial template, wherein the deflection angle is determinedbased on the line pattern and the binarization.
 11. The method of claim10, wherein the line pattern is generated via a least squares method.12. The method of claim 4, wherein at least one of the gauges isdigital, wherein the content includes the readings inclusive of the atleast one of the gauges.
 13. The method of claim 4, wherein the contentis identified based on the server selecting a template from a pluralityof templates, wherein the gauges are associated with the templates. 14.The method of claim 1, wherein at least some of the content as read fromthe data structure triggers at least one of a computational resource oran output device to take an action based on the at least some of thecontent satisfying a predefined condition.
 15. The method of claim 12,wherein the predefined condition includes the at least some of thecontent being external to a predefined range.
 16. The method of claim12, wherein the output device is a speaker.
 17. The method of claim 12,wherein the output device is a display.
 18. The method of claim 12,wherein the output device is a vibration device.
 19. The method of claim1, wherein the data structure is a spreadsheet.
 20. A system comprising:a processor in communication with a camera and a server, wherein theprocessor is programmed to: create a patrol tour for a camera such thatthe patrol tour includes a plurality of points associated with aplurality of identifiers; schedule the patrol tour such that the cameracan capture a plurality of images at the points during the patrol tourand surveil an area when not capturing the images during the patroltour; instruct the camera such that the images are (a) associated withthe identifiers during the patrol tour, a plurality of date stamps inaccordance with when the images are captured during the patrol tour, anda plurality of time stamps in accordance with when the images arecaptured during the patrol tour, and (b) sent to a server with theidentifiers, the date stamps, and the time stamps during the patroltour, wherein the server is remote from the camera during the patroltour; cause the server to: receive the images with the identifiers, thedate stamps, and the time stamps during the patrol tour, wherein theimages include a plurality of content; identify the content within theimages during the patrol tour; and populate a data structure with thecontent during the patrol tour based on the identifiers, the datestamps, and the time stamps.